package com.xbdun.facade.bmp.service.system;

import com.xbdun.common.api.Client;
import com.xbdun.common.api.XbdUnStringResult;
import com.xbdun.facade.bmp.request.system.DepartRequest;
import com.xbdun.facade.bmp.result.system.TreeNodeResult;

/**
* @ClassName: DepartFacade
* @Description: TODO(这里用一句话描述这个类的作用)
* @author zhanggt 360730440@qq.com
* @date 2017年4月19日 上午9:48:40
*/
public interface DepartFacade {

	/**
	* 新增部门
	* @Title: addDepart
	* @Description 新增部门
	* @param request	请求参数
	* @param client		当前操作人
	* @return XbdUnStringResult    返回类型
	*/
	public XbdUnStringResult addDepart(DepartRequest request,Client client);
	
	/**
	 *删除部门，必须是在该部门下不能在存在角色情况下才能够安全删除
	 *@param id 部门Code编号
	 *@param client 客户端
	 */
	public XbdUnStringResult delDepartByCode(Long id,Client client);
	/**
	* 获取平台+当前机构部门
	* @Title: queryTreeDepart
	* @Description: 获取平台+当前机构部门
	* @param client	调用客户端
	* @return TreeNodeResult    返回类型
	 */
	public TreeNodeResult queryTreeDepart(Client client);
	
	
	/**
	* 更新部门信息
	* @Title: modifyDepart
	* @Description: 更新部门信息
	* @param request		请求参数
	* @param client			客户端
	* @return XbdUnStringResult    返回类型
	 */
	public XbdUnStringResult modifyDepart(DepartRequest request, Client client);
}
